import React, { Component } from 'react'; import BasePage from "@/components/Layout/BasePage"; import { addDaftarHadirPeserta } from '../../../actions/catatan'; import { getAutoSave } from "@/actions/autosave"; import ContentWrapper from "@/components/Layout/ContentWrapper"; import { Row, Col, Card, CardBody, Button, Modal, ModalBody, ModalFooter, FormGroup, Input, Navbar, NavItem, NavLink, NavbarBrand } from "reactstrap"; import { Formik, Form, Field, ErrorMessage } from "formik"; import * as Yup from "yup"; import SignatureCanvas from 'react-signature-canvas' import { addPesertaPleno } from '../../../actions/public'; import { toast } from "react-toastify"; import Router from "next/router"; import swal from "sweetalert2"; import Link from 'next/dist/client/link'; import moment from 'moment'; import { getOneCatatan } from '../../../actions/catatan'; import ContentEditable from 'react-contenteditable' class PlenoSanksi extends Component { constructor(props) { super(props); this.state = { dataLaporan: {}, modal: false, signature: "", nama: "", data: {}, changesign: false, pageDone: false, } } static getInitialProps = async ({ query }) => { return { query }; }; componentDidMount = async () => { const { token, query } = this.props; const { id } = query; const getCatatan = await getOneCatatan(token, id) const pt = getCatatan.data?.isi.pt; const catatan = getCatatan.data const judul = getCatatan.data.judul const tempat = catatan.isi.tempat const setTanggal = catatan.isi.setTanggal const isi = catatan.isi.isi const tanggal = catatan.isi.tanggal const isEditTanggal = catatan.isi.isEditTanggal const isEditTempat = catatan.isi.isEditTempat const simpulan = catatan.isi.simpulan const rekomendasi = catatan.isi.rekomendasi this.setState({ isi, catatan, judul, pt, tanggal, tempat, isEditTanggal, isEditTempat, simpulan, rekomendasi, setTanggal }); }; toggleModal = (value = true) => { if (!value) { this.setState({ modal: false }); } else { this.setState({ modal: !this.state.modal }); } }; sigPad = [] clear = () => { this.sigPad.clear() } updateValueSignature = () => { const addsig = this.sigPad.getTrimmedCanvas().toDataURL('image/png') this.setState({ signature: addsig, changesign: true }) } updateValueNama = (e) => { this.setState({ nama: e.target.value }); } onSubmit = async (e) => { const { query, token } = this.props; const { id } = query; const sign = this.state.signature const blob = await (await fetch(sign)).blob(); const files = new File([blob], new Date().valueOf() + 'image.png', { type: blob.type }) const formdata = new FormData(); formdata.append("ttd", files); formdata.append("catatan_id", id); formdata.append("nama", this.state.nama); const added = await addDaftarHadirPeserta(token, formdata, id); const toastid = toast.loading("Please wait..."); if (!added) { swal.fire({ title: "Gagal Input Tanda Tangan", icon: "error", confirmButtonColor: "#3e3a8e", }); } else { swal.fire({ title: "Berhasil Input Tanda Tangan", icon: "success", confirmButtonColor: "#3e3a8e", }); Router.push(`/signature/letter/done/${id}`); } }; render() { const { signature, nama, changesign, catatan, pt, isEditTanggal, tanggal } = this.state return (
{ this.updateValueNama(e) }} />
{ this.sigPad = ref }} onEnd={(e) => this.setState({ changesign: false })} />
logo

LAPORAN HASIL VERIFIKASI DAN VALIDASI DOKUMEN USUL PENCABUTAN SANKSI ADMINISTRATIF

{pt && (

{pt.nama}

)}

Pada hari ini {isEditTanggal && { this.setState({ tanggal, setTanggal: true }) }} closeOnSelect={true} /> } {this.state?.setTanggal === true ? {moment(tanggal || this.state?.tanggal).locale("id").format("dddd")}, tanggal {moment(tanggal || this.state?.tanggal).format("D")} bulan {moment(tanggal || this.state?.tanggal).locale("id").format("MMMM")} tahun  {moment(tanggal || this.state?.tanggal).format("YYYY")}, :  [Mohon Diisi]   }  bertempat di {this.state.isEditTempat && { this.setState({ tempat: this.refs.inputTempat.value }) }} /> } {this.state?.tempat ?  {this.state?.tempat} :  [Mohon Diisi]   } , telah dilakukan rapat Verifikasi dan Validasi Dokumen Usul Pencabutan Sanksi Administratif {pt && ({pt.nama})}, yang dihadiri oleh:

    {catatan?.daftar_kehadiran_peserta?.map((value) =>
  1. {value.nama} {/*
  2. )}

{this.state.isi?.map((isi, index) => ( ))}
NO ASPEK PERBAIKAN LAPORAN PERBAIKAN HASIL VERIFIKASI DAN VALIDASI
{index + 1} { this.handleAspek(evt, index, "Aspek_Perbaikan") }} disabled={true} /> { this.handleAspek(evt, index, "Laporan_Perbaikan") }} disabled={true} /> { this.handleAspek(evt, index, "Hasil_Verifikasi") }} disabled={true} />
Simpulan : { this.setState({ simpulan: e.target.value }); }} tagName="text" />
Rekomendasi : { this.setState({ rekomendasi: e.target.value }); }} tagName="text" />

Klik tombol Setuju untuk melakukan tanda tangan sebagai tanda bukti menyetujui dokumen laporan diatas

); } } PlenoSanksi.Layout = BasePage; export default PlenoSanksi;